// pages/test/test.js

// import instance from '../../utils/request'
import instance from '../../utils/http'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    avatarurl: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},

  //在使用 wx.request 只要成功接受到 服务器返回的结果
  //无论 statusCode 的状态码事多少 都会执行 success回调！
  //开发者需要根据业务逻辑，自己来进行判断？
  //fail网络出现错误才会出现
  async buttab1() {
    wx.request({
      // url: 'https://gmall-prod.atguigu.cn/mall-api/index/findBanner',
      url: '/cart/getCartList',
      method: 'GET',
      timeout: 3000,
      isLoading: true,
      success: (res) => {
        console.log('success', res)
      },
      fail: (res) => {
        console.log('fail', res)
      }
    })
  },
  async buttab(e) {
    //通过 .then 的方式调用
    // instance
    //   .request({
    //     url: 'https://gmall-prod.atguigu.cn/mall-api/index/findBanner',
    //     method: 'GET'
    //   })
    //   .then((res) => {
    //     console.log('instance', res)
    //   })

    //第2种通过 await asyns 的方式调用
    // let comf = await instance.request({
    //   url: '/index/findBanner',
    //   method: 'GET'
    // })
    //第3种通过 快捷 的方式调用
    let comf = await instance
      .get(
        // '/index/findBanner',
        '/cart/getCartList',
        { test: 1117 },
        { timeout: 3000, isLoading: false }
      )
      .catch((res) => {
        console.log('ressss', res)
      })

    console.log('comf9', comf)
  },
  // 测试并发请求
  async buttab2(e) {
    // let re1 = await instance.get('/index/findBanner')
    // let re2 = await instance.get('/index/findCategory1')
    // let re3 = await instance.get('/index/findBanner')
    // let re4 = await instance.get('/index/findCategory1')

    //Promise.all 同时发起请求 也就是并行发送 不会阻塞页面
    // let re5 = await Promise.all([instance.get('/index/findBanner'), instance.get('/index/findCategory1'), instance.get('/index/findBanner'), instance.get('/index/findCategory1')])

    let re5 = await instance.all(
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1'),
      instance.get('/index/findBanner'),
      instance.get('/index/findCategory1')
    )

    console.log('re51', re5)
    // console.log('re1re1', re1)
    // console.log('re2re2', re2)
  },
  // 测试依赖回调请求
  async buttab3() {
    await instance.get('/index/findBanner', null, { isLoading: true }).then((res) => {
      instance.get('/index/findCategory1', null, { isLoading: true }).then((ress) => {
        instance.get('/index/findBanner', null, { isLoading: true })
      })
    })
  },

  //测试uploadFil接口
  async btnchooseavatar(e) {
    console.log('微信头像', e)
    let { avatarUrl } = e.detail

    // wx.uploadFile({
    //   //开发者服务的地址 接口地址
    //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload',
    //   //要上传的临时路径
    //   filePath: avatarUrl,
    //   //文件对应的key 服务器需要更具对于的key 来获取文件的二进制信息
    //   name: 'file',
    //   success: (res) => {
    //     console.log('adsadsa', res)
    //     res.data = res.data ? JSON.parse(res.data) : null
    //     this.setData({
    //       avatarurl: res.data.data
    //     })
    //   }
    // })

    const { data: avatar } = await instance.upload('/fileUpload', avatarUrl, 'file')

    this.setData({
      avatarurl: avatar
    })

    console.log('adasdadasd', avatar)
  }
})
